Media often involves the display of animated or moving objects. For example, a media object may consist of a series of frames played one after another by a media player. The sequential playing of the frames gives the appearance of objects within the frames moving over time. Development of such media can involve painstakingly creating each object in each frame independently. For example, animating a car moving down a street may involve redrawing the street and the car in a different position on the street in each of a series of multiple frames. Certain techniques exist to help developers simplify this otherwise painstaking and repetitive process. Some development tools allow a developer to reuse elements of a previous frame in a subsequent frame. For example, a developer may need to draw the street and the car only once to create the frames of the previous example. After drawing the street and the car for a first frame, the developer can save these objects in a first frame and then use them as a basis for created subsequent frames. A development tool may, for example, allow the developer to simply reposition the car object and save the second frame, reposition the car again and save the third frame, etc. Another technique that can simplify the process of creating animation involves extrapolating between frames created by a developer. In the previous example, a developer may create a first frame with the car at one end of a street and a second frame with the car at a second end of the street. The development tool can use the first and second frames as end points to create additional frames for inclusion in the play sequence of frames. For example, the positions of the car in the end frames can be used to determine several intermediate positions of the car on the street for intermediate frames.
In spite of these and other powerful features, present authoring and media environments could improve with respect to facilitating the movement of more complicated objects. In particular, moving objects that have multiple, interrelated components continue to present various challenges. One example, is the complexity involved in animating a person or figure waving his or her hand or picking up an object on the ground. The more complex the figure (i.e., the more components it has), the more difficult this task is for the developer. In many cases, the developer will be required to redraw (or reposition) each component of the object, e.g., the hand, the forearm, the upper arm, the shoulder, the head, etc.